The present invention relates generally to computer systems, software and methods, and more particularly, to computer systems, software and methods that allow a computer system integrator to reserve a predetermined amount of space on a hard drive and then enable that space for use by an end user after the computer system is in the hands of the end user.
Many currently-available hard disk drives have the ability to be resized by a system integrator. The PARTIES (Protected Are: Run-Time Interface Extension Services) specification, for example, provides methods for reserving space on a hard drive, and emulating a floppy drive.
Although a hard disk drive can be made smaller, making the drive larger again can be an issue. Generally, disk drive vendor and product specific tools must be used to change the size of the drive. This can be a problem since disk drive manufacturers do not generally want end users to have access to their drive modification tools. Although there are now some generic ways to change the size of the drive, no infrastructure exists to allow the changes to be made, particularly by an end user. In addition, the PARTIES specification does not provide a method for reallocating hard disk drive space to the computer user.
Most currently-available hard disk drives are manufactured with 20, 40 or 60 gigabytes of drive space (defined by one, two or three disk platters). Many times, because of cost considerations, a personal computer manufacturer will install 60 gigabyte hard disk drives in all of the personal computer systems that they sell, even though some of the systems are configured to have 20 or 40 gigabyte hard disk drives.
After delivery of the computer system to the end user, the number one technical support issue (for computers with Intel(copyright) microprocessors) relates to installation of a larger hard disk drive. It would be desirable to have the ability for an end user to enlarge the available hard disk drive space, if such space is available (i.e., a 60 gigabyte drive is installed but is configured to have only 20 or 40 gigabytes of space available to the user.
It is an objective of the present invention to provide for computer systems, software and methods that allow a computer system integrator to reserve a predetermined amount of space on a hard disk drive and then enable the space for use an end user after the computer system is in the hands of the end user.
To accomplish the above and other objectives, the present invention provides for computer systems, software and methods that allows a computer system integrator to reserve a predetermined amount of space on a hard disk drive and then enable that space for use by an end user after the system is in the hands of the end user. More specifically, the present method provides for computer systems, software and methods that permit changing the size of the user area of a hard disk drive after a computer system is in the hands of a user.
The computer software and methods are embodied in a computer system having an operating system and a hard disk drive. The hard disk drive is configured, in accordance with a PARTIES specification, for example, to have a boot engineering extension record (BEER) that comprises a BEER pointer that points to a SETMAX marker and an end of file system marker that together define a host protected area and indicate an end of a user-accessible area of the hard disk drive. The computer software and methods embodied in the computer system are operative to enlarge the user-accessible area of the hard disk drive.
An exemplary embodiment of a computer system in accordance with the present invention comprises an operating system and a hard disk drive that is configured (in accordance with a PARTIES specification, for example) to have a boot engineering extension record (BEER) that comprises a BEER pointer that points to a SETMAX marker that defines a host protected area and indicate an end of a user-accessible area of the hard disk drive. Software is provided that, once enabled (by the personal computer manufacturer, for example), and assuming that additional end user space is available on the hard disk drive, is operative to allow the end user to increase the usable area of the hard disk drive.
An exemplary embodiment that implements the present method comprises the following steps. It is determined if the boot engineering extension record is present on the hard disk drive. If the boot engineering extension record is present, it is determined if free media space is available on the hard disk drive. If free media space is available on the hard disk drive, the BEER pointer is changed to move the SETMAX marker and allocate additional media space on the hard disk drive for use as part of the user accessible area. The end of file system marker is moved to match the moved SETMAX marker to set the enlarged user-accessible area of the hard disk drive.
An exemplary embodiment of computer software in accordance with the present invention comprises a code segment that determines if a boot engineering extension record is present on the hard disk drive. A code segment determines if free media space is available on the hard disk drive once it is determined that the boot engineering extension record is present. A code segment changes the BEER pointer if free media space is available to move the SETMAX marker to allocate additional media space from the host protected area on the hard disk drive for use as part of the user accessible area. A code segment moves the end of file system marker to match the moved SETMAX marker to set the enlarged user-accessible area of the hard disk drive.